package config

import (
	"github.com/spf13/viper"
	"os"
)

var OriginConfig = &Config{}

type Config struct {
	Mysql Mysql `yaml:"mysql"`
	Minio MinIO `yaml:"minio"`
}

func InitConfig() {
	//读取配置文件

	viper.SetConfigName(getEnvironment())
	viper.AddConfigPath("config")
	err := viper.ReadInConfig()
	if err != nil {
		panic(err)
	}
	err = viper.Unmarshal(OriginConfig)

	//初始化数据库
	OriginConfig.Mysql.Init()
	OriginConfig.Minio.Init()
}

// 获取环境变量并将设置默认的环境变量值
func getEnvironment() string {
	env := os.Getenv("GIN_NODE")
	if env == "" {
		return "development"
	}
	return env
}
